package com.yilin.platform.service;

import com.yilin.platform.entity.weChat.WeChatTradeRecord;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

public interface IWeChatService {

    /*微信app下单*/
    Map<String, Object> wxChartAppTransactions(WeChatTradeRecord weChatTradeRecord);

    /*微信app下单*/
    Map<String, Object>  wxChartAppTransactionsH5(WeChatTradeRecord weChatTradeRecord);

    /*微信app支付查询
     * 备注：调这个方法之后需要掉用订单通知接口
     * */
    WeChatTradeRecord wxChartAppQueryTransactions(String tradeNo);

    /*微信app发起退款*/
    WeChatTradeRecord wxChartAppRefund(WeChatTradeRecord weChatTradeRecord,WeChatTradeRecord weChatTradeRecordOrging);

    /*微信app退款查询
 * 备注：调这个方法之后需要掉用订单通知接口
 * */
    WeChatTradeRecord wxChartAppQueryRefund(String tradeNo);


    Map<String, Object> weChatCallback(HttpServletRequest request, HttpServletResponse response, String userType, String type);

    WeChatTradeRecord getWeChatTradeRecordById(String tradeRecordId);

    WeChatTradeRecord getWeChatTradeRecordByTradeNo(String tradeNo);

    List<WeChatTradeRecord> getNotificationList();

    void myTaskOneMinute();


}
